<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>画星星</title>
  <style>
    div {
      text-align: center;
    }
  </style>
</head>

<body>
  <script>
    // // 定义函数画星星
    // function writeStar(n) {
    //   // n表示画星星的行数
    //   var strHtml = '';
    //   for (var i = 1; i <= n; i++) { // 外层循环控制行
    //     for (var j = 1; j <= (2 * n - 1); j++) { // 内层循环控制每一个行
    //       if (j <= (n - i)) { // 每行前面不显示的*
    //         strHtml += "<font color='white'>*</font>";
    //       }
    //       if (j > (n - i) && j <= (2 * i - 1 + (n - i))) { // 每行显示的**
    //         strHtml += "<font color='black'>*</font>";
    //       }
    //     }
    //     // 通过拼接<br>换行标签来实现行的控制
    //     strHtml += '<br>';
    //   }
    //   document.write(strHtml);
    // }
    // var n = prompt('行数');
    // writeStar(n);


    var rowsNum = prompt('请输入行数');

    function printStar(n) {
      // 最外层循环控制行数，由输入的rowsNum决定
      for (let i = 1; i <= n; i++) {
        // 先打印空格，每层空格数量为n - i个，n为总层数，i为第几层
        for (let j = 1; j <= n - i; j++) {
          document.write('&nbsp;');
        }
        // 再打印*，每层*的数量与行数的关系为2 * i - 1
        for (let k = 1; k <= (2 * i - 1); k++) {
          document.write('*');
        }
        // 打印完一层进行换行
        document.write('<br/>');
      }
    }

    printStar(rowsNum);

    // function printStar(n) {
    //   let str = '';
    //   for (let i = 1; i <= n; i++) {
    //     for (let j = 1; j <= (2 * i - 1); j++) {
    //       str += '*';
    //     }
    //     document.write(`<div>${str}</div>`);
    //     str = '';
    //   }
    // }

    // function yangHui(row) {
    //   var arr = new Array(row);
    //   for (var i = 0; i < arr.length; i++) {
    //     arr[i] = new Array(i + 1);
    //   }
    //   for (var i = 0; i < arr.length; i++) {
    //     for (var j = 0; j < arr[i].length; j++) {
    //       if (j === 0 || i === j) {
    //         arr[i][j] = 1;
    //       } else {
    //         arr[i][j] = arr[i - 1][j] + arr[i - 1][j - 1];
    //       }
    //     }
    //   }
    //   for (var i = 0; i < arr.length; i++) {
    //     for (var j = 0; j < arr[i].length; j++) {
    //       document.write(arr[i][j] + ' ');
    //     }
    //     document.write('<br/>');
    //   }
    // }
    // yangHui(15)

    // function test() {
    //   var arr = new Array();
    //   for (var i = 0; i < 20; i++) {
    //     if (i == 0) {
    //       arr.push(1);
    //     } else if (i == 1) {
    //       arr = new Array();
    //       arr.push(1);
    //       arr.push(1);
    //     } else {
    //       var arr2 = new Array();
    //       arr2.push(1);
    //       for (var j = 0; j < arr.length - 1; j++) {
    //         arr2.push(arr[j] + arr[j + 1]);
    //       }
    //       arr2.push(1);
    //       arr = new Array();
    //       arr = arr2;
    //     }
    //     document.write(arr.join(" "));
    //     document.write('<br>')
    //   }
    // }
    // test();
  </script>
</body>

</html>